package secondStage.part4.File;

import java.io.File;

/**
 * @ClassName: [DiGuiDemo2]
 * @Description: 遍历目录
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-04]
 * @Version: [v1.0]
 */
/*
需求:
    给定一个路径(D:\\IdeaProjects\\JavaBaseStudy)，请通过递归完成遍历该目录下的所有内容，并把所有文件的绝对路径输出在控制台
思路:
    1:根据给定的路径创建一个File对象
    2:定义一个方法，用于获取给定目录下的所有内容，参数为第1步创建的File对象
    3:获取给定的File目录下所有的文件或者目录的File数组
    4:遍历该File数组，得到每一个File对象
    5:判断该File对象是否是目录
        是:递归调用
        不是:获取绝对路径输出在控制台
    6:调用方法
 */
public class DiGuiDemo2 {
    public static void main(String[] args) {
        File srcFile = new File("D:\\IdeaProjects\\JavaBaseStudy");
        //调用方法
        getAllFilePath(srcFile);
    }
    //定义一个方法，用于获取给定目录下的所有内容，参数为第1步创建的File对象
    public static void getAllFilePath(File srcFile){
        File[] fileArray = srcFile.listFiles();
        if (fileArray != null){
            for (File file: fileArray) {
                if (file.isDirectory()){
                    getAllFilePath(file);
                }else {
                    System.out.println(file.getAbsolutePath());
                }
            }
        }
    }
}
